package edu.zut;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * Spring-Boot应用程序的启动入口类，入口类要求位于所有类的最高级别
 * @SpringBootApplication : 标明当前是一个基于SpringBoot的应用，开启自动配置功能以及进行组件的自动扫描（自动IoC）
 *  组合注解：
 *  @SpringBootConfiguration ：标明当前是一个基于SpringBoot的配置类
 *  @EnableAutoConfiguration ：开启SpringBoot的自动配置功能
 *      @AutoConfigurationPackage ：自动配置包
 *      @Import(AutoConfigurationImportSelector.class) ：根据我们导入的依赖完成相关的自动配置
 *  @ComponentScan ：开启组件的自动扫描（IOC），将添加有特定注解的bean进行扫描并加载到容器中
 *          默认从启动类所在的包为基准包扫描，同时不扫描过滤器、监听器、servlet
 *  组件：每一个Bean都是组件
 */
@SpringBootApplication
public class SpringBootDemoApplication {

    public static void main(String[] args) {
        //加载应用返回一个应用上下文对象
        SpringApplication.run(SpringBootDemoApplication.class, args);
    }

}
